package handlers

import (
	"fmt"
	"github.com/gin-gonic/gin"
	"net/http"
	"os/exec"
)

// ConvertMySQLToDmSQL 处理 MySQL SQL 转换为 DmSQL 的逻辑
func ConvertMySQLToDmSQL(c *gin.Context) {
	mysqlSQL := c.Query("mysqlSql") // 获取参数 mysqlSql 的值

	tabSpaceName := c.Query("tabSpaceName") // 获取参数 tableSpace name 的值
	// TODO: 在这里处理 mysqlSQL 的转换逻辑，并生成 DmSQL
	fmt.Println("MySQL SQL:", mysqlSQL)
	fmt.Println("TABLE SPACE NAME :", tabSpaceName)

	// 执行 Java 命令
	javaCmd := exec.Command("java", "-jar", "-Dfile.encoding=UTF-8", "tools/transfersql-commandline-1.0-SNAPSHOT.jar", tabSpaceName, mysqlSQL)
	output, err := javaCmd.CombinedOutput()
	if err != nil {
		fmt.Println("Java命令执行失败:", err)
		c.JSON(http.StatusInternalServerError, gin.H{
			"error": "Java命令执行失败",
		})
		return
	}

	// 返回 DmSQL 作为 JSON 响应
	c.JSON(http.StatusOK, gin.H{
		"DmSQL": string(output),
	})
}
